package 第九周.homework;
/*Author:☆♢
编写一个程序，确定并输出Pascal三角形的第N行。该三角形内部的每个数都是上面两个数的和。
提示：用数组保存每一行的数值*/
import java.util.Scanner;
public class pp12_9 {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter the line number which you want:");
        int n = scan.nextInt();//用户选择的行数。
        int[] pascal = Pascal(n);

        for (int m : pascal) {
            System.out.print(m + "\t");
        }
    }

    public static int[] Pascal(int n) {//需要返回一个数组。
        int[] pascal = new int[n];
//        int i =1;//索引值；从第二个数开始，所以索引从1开始。
            if (n == 1)
                pascal[0] = 1;
            else if (n == 2) {
                pascal[0] = 1;
                pascal[1] = 1;
            } else {
                pascal[0]=1;
                pascal[n-1]=1;
                for(int i =1;i < n - 1;i++){//让中间的数字每个都去递归实现。
                    pascal[i] = Pascal(n - 1)[i] + Pascal(n - 1)[i - 1];
             }
             }
            return pascal;
        }
}





